I want to avoid blank loading screen time. Instead of blank loading screens I want to display some short clips and family photos.
I had some success with "splashscreens" catalogue. But it works only on external screen with HDMI and then only for clips because the images are overridden with console logging screen.
The 3.5 LCD only displays console logs until the UI is loaded.
You can create your own script(s) to show images/videos on the LCD screen, by using the EmulationStation scripting support.
I was able to disable the EmulationStation loading screen but is there a way to display something instead of blank screen.
No. The only thing shown during loading is the ES splashscreen (which you disabled).
However, you can use the RetroPie's boot splashscreen to display an image during boot and increase the time it's shown so that by the time it stops, EmulationStation is already loaded.
I tried adding a console "launching" screen but when launching a game the screen is mostly blank and for a few moments the picture shows and than the emulator is still loading with black screen.
Is there a way to add an loading image or mp4 for each game instead of for each console.
Apart from the regular splashscreen support in runcommand, there's no other mechanism in RetroPie to add additional loading screens. But once the emulator is loaded, there's nothing RetroPie can do - it's up to each individual emulator to display things.
Is there a way to simplify the retropie UI to scroll and select games directly without emulator selection?
Also instead of just the name of the game I wish to show an image to select like for choosing a console.
Probably easiest is to use the Grid View support in EmulationStation and show only games' images instead of the list. You can try also other front-ends, like Pegasus or Attract-Mode.